package com.ruoyi.client.service;

import com.ruoyi.client.pojo.form.AddressInsertForm;
import com.ruoyi.client.pojo.form.AddressUpdateForm;
import com.ruoyi.client.pojo.vo.AddressVo;
import com.ruoyi.bookbus.domain.BookAddress;

import java.util.List;

public interface AddressService {

    /**
     * 新增收货地址
     */
    Boolean insert(AddressInsertForm  form);

    /**
     * 删除收货地址 ById
     */
    Boolean deleteById(Long addressId);

    /**
     * 更改收货地址
     */
    Boolean update(AddressUpdateForm  form);

    /**
     * 查询收货地址ById
     */
    BookAddress selectByPrimaryKey(Long addressId);

    /**
     * 查询收货地址详情ById
     */
    AddressVo selectDetailById(Long id);

    /**
     * 查询我的默认收货地址
     */
    BookAddress selectDefaultByUserId(Long userId);


    /**
     * 查询我的收货地址列表
     */
    List<AddressVo> selectListByMy();

    // 查询我的默认收货地址，如果传递了id就查询id对应的收货地址，如果没有传递id就查询默认的收货地址
    AddressVo getDefaultAddress(Long id);
}